package com.example.demo.service;

import com.example.demo.model.dto.ActivityDTO;
import com.example.demo.model.entity.Activity;
import com.example.demo.model.request.activity.*;
import com.example.demo.model.response.*;
import com.example.demo.util.PageInfo;


public interface ActivityService {

    boolean create(CreateActivityRequest request);

    PageQueryActivityResponse pageQuery(PageInfo pageInfo);

    boolean delete(Integer activityId);

    AttendActivityResponse attend(AttendActivityRequest request);

    QueryActivityRecordResponse queryRecord(QueryActivityRecordRequest request);

    QueryUserPrizeResponse queryUserPrize(QueryUserPrizeRequest request);

    Boolean update(UpdateActivityRequest request);

    ActivityDTO query(Integer id);

    PageQueryActivityByUserResponse pageQueryByUser(PageQueryActivityByUserRequest request);
}
